package com.zed.api.games;

import java.io.Serial;
import java.util.Collections;
import java.util.List;
import java.util.Objects;

/**
 * 空的响应
 *
 * @author Zed
 */
public class EmptyActionReply implements ActionReply {
    @Serial
    private static final long serialVersionUID = 779971736744516286L;

    private Game game;

    private GameLevel<?, ? extends Action> level;

    public EmptyActionReply(Game game, GameLevel<?, ? extends Action> gameLevel) {
        this.game = Objects.requireNonNull(game, "\"game\" cannot be null.");
        this.level = Objects.requireNonNull(gameLevel, "\"level\" cannot be null.");
    }

    @Override
    public Object getParameter(String name) {
        return null;
    }

    @Override
    public <T> T getParameter(String name, Class<T> requireClazz) {
        return null;
    }

    @Override
    public List<String> getParameterNames() {
        return Collections.emptyList();
    }

    @Override
    public List<String> getParameterNames(String prefix) {
        return Collections.emptyList();
    }

    @Override
    public Game getGame() {
        return this.game;
    }

    @Override
    public GameLevel<?, ? extends Action> getGameLevel() {
        return this.level;
    }


}
